package hao.itheima;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 进入你想看的类,然后按下Ctrl+H, 就可以查看继承体系
 * 选中要查看的类,右键,点击Diagrams,选择Show Inheritance Hierarchy
 * 即可快速查看继承关系
 */
//5、最后加上注解
    //目的: 为了跟请求路径做映射
//@WebServlet("/hello")
    //为了区分别的Servlet程序
@WebServlet(urlPatterns = "/hello")//定义请求路径, 访问这个Servlet程序, 就需要访问这个路径, 比如: http://localhost:8080/hello
//1、继承HttpServlet或者实现Servlet接口
public class HelloServlet extends HttpServlet {
    //目标: 快速开发一个,Servlet程序
    //2、需要发送什么请求,就覆盖(就是重写)对应的方法
    @Override
    //                      请求对象                    响应对象
    //                         ↓                        ↓
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //3、获取请求参数(所有的请求参数,都会封装到req这个对象中)
        // 传入一个key,就可以获取这个key对应的value, 等会拿到的就是Heima
        String name = req.getParameter("name");
        //4、响应结果到浏览器
        //getWriter()获取输出流(其实是打印输出流),写出去

        //可以设置响应头,设置编码格式
        //如果想覆盖粘贴, 快捷键 Ctrl+Shift+V
        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().write("<h1>Hello" +name + " ~</h1>");
    }
}
